#include "Checker/KernelCheckerAPI.h"
#include <stdio.h>

using namespace std;

KernelCheckerAPI* KernelCheckerAPI::ckAPI = NULL;

/// string and type pair
struct ei_pair {
	const char *n;
	KernelCheckerAPI::CHECKER_TYPE t;
};

//Each (name, type) pair will be inserted into the map.
//All entries of the same type must occur together (for error detection).
static const ei_pair ei_pairs[]= {
	{"___alloc_bootmem", KernelCheckerAPI::CK_KALLOC},
	{"___alloc_bootmem_node", KernelCheckerAPI::CK_KALLOC},
	{"___alloc_bootmem_node_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"___alloc_bootmem_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem_low", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem_low_node", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem_low_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem_node", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem_node_high", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem_node_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_bootmem_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_filter", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_memory_core_early", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_pages", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_pages_direct_compact", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_pages_direct_reclaim", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_pages_high_priority", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_pages_may_oom", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_pages_nodemask", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_pages_slowpath", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_percpu", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_percpu_gfp", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_reserved_percpu", KernelCheckerAPI::CK_KALLOC},
	{"__alloc_workqueue_key", KernelCheckerAPI::CK_KALLOC},
	{"__allocate_fw_buf", KernelCheckerAPI::CK_KALLOC},
	{"__blk_mq_alloc_request", KernelCheckerAPI::CK_KALLOC},
	{"__crypto_alloc_tfm", KernelCheckerAPI::CK_KALLOC},
	{"__d_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__do_krealloc", KernelCheckerAPI::CK_KALLOC},
	{"__earlyonly_bootmem_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__fuse_request_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__kmalloc", KernelCheckerAPI::CK_KALLOC},
	{"__kmalloc_node", KernelCheckerAPI::CK_KALLOC},
	{"__kmalloc_node_track_caller", KernelCheckerAPI::CK_KALLOC},
	{"__kmalloc_section_usemap", KernelCheckerAPI::CK_KALLOC},
	{"__kmalloc_track_caller", KernelCheckerAPI::CK_KALLOC},
	{"__krealloc", KernelCheckerAPI::CK_KALLOC},
	{"__page_cache_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__ring_buffer_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__scsi_alloc_queue", KernelCheckerAPI::CK_KALLOC},
	{"__sigqueue_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__slab_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__tty_alloc_driver", KernelCheckerAPI::CK_KALLOC},
	{"__vmalloc", KernelCheckerAPI::CK_KALLOC},
	{"__vmalloc_area_node", KernelCheckerAPI::CK_KALLOC},
	{"__vmalloc_node", KernelCheckerAPI::CK_KALLOC},
	{"__vmalloc_node_flags", KernelCheckerAPI::CK_KALLOC},
	{"__vmalloc_node_range", KernelCheckerAPI::CK_KALLOC},
	{"ablkcipher_request_alloc", KernelCheckerAPI::CK_KALLOC},
	{"aead_geniv_alloc", KernelCheckerAPI::CK_KALLOC},
	{"aead_request_alloc", KernelCheckerAPI::CK_KALLOC},
	{"aer_alloc_rpc", KernelCheckerAPI::CK_KALLOC},
	{"agp_alloc_bridge", KernelCheckerAPI::CK_KALLOC},
	{"agp_allocate_memory", KernelCheckerAPI::CK_KALLOC},
	{"agp_allocate_memory_wrap", KernelCheckerAPI::CK_KALLOC},
	{"agp_generic_alloc_by_type", KernelCheckerAPI::CK_KALLOC},
	{"agp_generic_alloc_page", KernelCheckerAPI::CK_KALLOC},
	{"agp_generic_alloc_user", KernelCheckerAPI::CK_KALLOC},
	{"ahash_request_alloc", KernelCheckerAPI::CK_KALLOC},
	{"alloc_aggr_kprobe", KernelCheckerAPI::CK_KALLOC},
	{"alloc_agpphysmem_i8xx", KernelCheckerAPI::CK_KALLOC},
	{"alloc_anon_inode", KernelCheckerAPI::CK_KALLOC},
	{"alloc_apertures", KernelCheckerAPI::CK_KALLOC},
	{"alloc_buddy_huge_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_buf", KernelCheckerAPI::CK_KALLOC},
	{"alloc_buffer_head", KernelCheckerAPI::CK_KALLOC},
	{"alloc_dcookie", KernelCheckerAPI::CK_KALLOC},
	{"alloc_desc", KernelCheckerAPI::CK_KALLOC},
	{"alloc_disk", KernelCheckerAPI::CK_KALLOC},
	{"alloc_disk_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_dr", KernelCheckerAPI::CK_KALLOC},
	{"alloc_elfnotes_buf", KernelCheckerAPI::CK_KALLOC},
	{"alloc_fdmem", KernelCheckerAPI::CK_KALLOC},
	{"alloc_fdtable", KernelCheckerAPI::CK_KALLOC},
	{"alloc_file", KernelCheckerAPI::CK_KALLOC},
	{"alloc_flex_gd", KernelCheckerAPI::CK_KALLOC},
	{"alloc_fresh_gigantic_page_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_fresh_huge_page_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_gigantic_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_huge_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_huge_page_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_huge_page_noerr", KernelCheckerAPI::CK_KALLOC},
	{"alloc_hugepage_vma", KernelCheckerAPI::CK_KALLOC},
	{"alloc_indirect", KernelCheckerAPI::CK_KALLOC},
	{"alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"alloc_insn_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_irq_and_cfg_at", KernelCheckerAPI::CK_KALLOC},
	{"alloc_irq_cfg", KernelCheckerAPI::CK_KALLOC},
	{"alloc_irq_pin_list", KernelCheckerAPI::CK_KALLOC},
	{"alloc_kmem_pages", KernelCheckerAPI::CK_KALLOC},
	{"alloc_kmem_pages_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_large_system_hash", KernelCheckerAPI::CK_KALLOC},
	{"alloc_low_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_low_pages", KernelCheckerAPI::CK_KALLOC},
	{"alloc_lvn", KernelCheckerAPI::CK_KALLOC},
	{"alloc_migrate_target", KernelCheckerAPI::CK_KALLOC},
	{"alloc_misplaced_dst_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_mm_slot", KernelCheckerAPI::CK_KALLOC},
	{"alloc_mnt_ns", KernelCheckerAPI::CK_KALLOC},
	{"alloc_msg", KernelCheckerAPI::CK_KALLOC},
	{"alloc_msi_entry", KernelCheckerAPI::CK_KALLOC},
	{"alloc_new_pmd", KernelCheckerAPI::CK_KALLOC},
	{"alloc_page_buffers", KernelCheckerAPI::CK_KALLOC},
	{"alloc_page_interleave", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pages", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pages_current", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pages_exact", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pages_exact_nid", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pages_exact_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pages_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pages_vma", KernelCheckerAPI::CK_KALLOC},
	{"alloc_part_info", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pci_root_info", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pcie_link_state", KernelCheckerAPI::CK_KALLOC},
	{"alloc_perf_context", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pgt_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pi_state", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pid", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pipe_info", KernelCheckerAPI::CK_KALLOC},
	{"alloc_posix_timer", KernelCheckerAPI::CK_KALLOC},
	{"alloc_pvd", KernelCheckerAPI::CK_KALLOC},
	{"alloc_read_gpt_entries", KernelCheckerAPI::CK_KALLOC},
	{"alloc_read_gpt_header", KernelCheckerAPI::CK_KALLOC},
	{"alloc_resource", KernelCheckerAPI::CK_KALLOC},
	{"alloc_rmap_item", KernelCheckerAPI::CK_KALLOC},
	{"alloc_rootdomain", KernelCheckerAPI::CK_KALLOC},
	{"alloc_sched_domains", KernelCheckerAPI::CK_KALLOC},
	{"alloc_sdesc", KernelCheckerAPI::CK_KALLOC},
	{"alloc_secdata", KernelCheckerAPI::CK_KALLOC},
	{"alloc_slab_page", KernelCheckerAPI::CK_KALLOC},
	{"alloc_stable_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_super", KernelCheckerAPI::CK_KALLOC},
	{"alloc_swap_info", KernelCheckerAPI::CK_KALLOC},
	{"alloc_symbol_cache", KernelCheckerAPI::CK_KALLOC},
	{"alloc_task_struct_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_tce_table", KernelCheckerAPI::CK_KALLOC},
	{"alloc_thread_info_node", KernelCheckerAPI::CK_KALLOC},
	{"alloc_trace_kprobe", KernelCheckerAPI::CK_KALLOC},
	{"alloc_trial_cpuset", KernelCheckerAPI::CK_KALLOC},
	{"alloc_tty_driver", KernelCheckerAPI::CK_KALLOC},
	{"alloc_tty_struct", KernelCheckerAPI::CK_KALLOC},
	{"alloc_uid", KernelCheckerAPI::CK_KALLOC},
	{"alloc_unbound_pwq", KernelCheckerAPI::CK_KALLOC},
	{"alloc_vfsmnt", KernelCheckerAPI::CK_KALLOC},
	{"alloc_vm_area", KernelCheckerAPI::CK_KALLOC},
	{"alloc_vmap_area", KernelCheckerAPI::CK_KALLOC},
	{"alloc_worker", KernelCheckerAPI::CK_KALLOC},
	{"alloc_workqueue_attrs", KernelCheckerAPI::CK_KALLOC},
	{"alloc_zeroed_user_highpage_movable", KernelCheckerAPI::CK_KALLOC},
	{"alloc_zspage", KernelCheckerAPI::CK_KALLOC},
	{"allocate_fake_cpuc", KernelCheckerAPI::CK_KALLOC},
	{"allocate_partitions", KernelCheckerAPI::CK_KALLOC},
	{"allocate_probes", KernelCheckerAPI::CK_KALLOC},
	{"allocate_shared_regs", KernelCheckerAPI::CK_KALLOC},
	{"allocate_slab", KernelCheckerAPI::CK_KALLOC},
	{"amd_alloc_nb", KernelCheckerAPI::CK_KALLOC},
	{"amd_uncore_alloc", KernelCheckerAPI::CK_KALLOC},
	{"anon_vma_alloc", KernelCheckerAPI::CK_KALLOC},
	{"anon_vma_chain_alloc", KernelCheckerAPI::CK_KALLOC},
	{"array_map_alloc", KernelCheckerAPI::CK_KALLOC},
	{"bdev_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"bio_alloc", KernelCheckerAPI::CK_KALLOC},
	{"bio_alloc_bioset", KernelCheckerAPI::CK_KALLOC},
	{"bio_alloc_map_data", KernelCheckerAPI::CK_KALLOC},
	{"bio_integrity_alloc", KernelCheckerAPI::CK_KALLOC},
	{"bio_kmalloc", KernelCheckerAPI::CK_KALLOC},
	{"blk_alloc_flush_queue", KernelCheckerAPI::CK_KALLOC},
	{"blk_alloc_queue", KernelCheckerAPI::CK_KALLOC},
	{"blk_alloc_queue_node", KernelCheckerAPI::CK_KALLOC},
	{"blk_init_allocated_queue", KernelCheckerAPI::CK_KALLOC},
	{"blk_mq_alloc_request", KernelCheckerAPI::CK_KALLOC},
	{"blk_get_request", KernelCheckerAPI::CK_KALLOC},
	{"blkcg_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"blkg_alloc", KernelCheckerAPI::CK_KALLOC},
	{"bpf_prog_alloc", KernelCheckerAPI::CK_KALLOC},
	{"bpf_prog_realloc", KernelCheckerAPI::CK_KALLOC},
	{"bsg_alloc_command", KernelCheckerAPI::CK_KALLOC},
	{"bsg_alloc_device", KernelCheckerAPI::CK_KALLOC},
	{"bucket_table_alloc", KernelCheckerAPI::CK_KALLOC},
	{"bvec_alloc", KernelCheckerAPI::CK_KALLOC},
	{"calgary_alloc_coherent", KernelCheckerAPI::CK_KALLOC},
	{"cdev_alloc", KernelCheckerAPI::CK_KALLOC},
	{"cfq_find_alloc_queue", KernelCheckerAPI::CK_KALLOC},
	{"chainiv_alloc", KernelCheckerAPI::CK_KALLOC},
	{"cma_alloc", KernelCheckerAPI::CK_KALLOC},
	{"compaction_alloc", KernelCheckerAPI::CK_KALLOC},
	{"component_match_realloc", KernelCheckerAPI::CK_KALLOC},
	{"cpu_cgroup_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"cpuacct_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"cpufreq_policy_alloc", KernelCheckerAPI::CK_KALLOC},
	{"cpuset_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"create_kmalloc_cache", KernelCheckerAPI::CK_KALLOC},
	{"cred_alloc_blank", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_ablkcipher", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_aead", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_ahash", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_base", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_blkcipher", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_cipher", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_comp", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_hash", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_instance", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_instance2", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_pcomp", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_rng", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_shash", KernelCheckerAPI::CK_KALLOC},
	{"crypto_alloc_tfm", KernelCheckerAPI::CK_KALLOC},
	{"crypto_cbc_alloc", KernelCheckerAPI::CK_KALLOC},
	{"crypto_ecb_alloc", KernelCheckerAPI::CK_KALLOC},
	{"crypto_larval_alloc", KernelCheckerAPI::CK_KALLOC},
	{"d_alloc", KernelCheckerAPI::CK_KALLOC},
	{"d_alloc_name", KernelCheckerAPI::CK_KALLOC},
	{"d_alloc_pseudo", KernelCheckerAPI::CK_KALLOC},
	{"devcgroup_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"devm_input_allocate_device", KernelCheckerAPI::CK_KALLOC},
	{"devm_kmalloc", KernelCheckerAPI::CK_KALLOC},
	{"devm_kzalloc", KernelCheckerAPI::CK_KALLOC},
	{"devm_regmap_field_alloc", KernelCheckerAPI::CK_KALLOC},
	{"devres_alloc", KernelCheckerAPI::CK_KALLOC},
	{"dma_alloc_attrs", KernelCheckerAPI::CK_KALLOC},
	{"dma_alloc_from_contiguous", KernelCheckerAPI::CK_KALLOC},
	{"dma_generic_alloc_coherent", KernelCheckerAPI::CK_KALLOC},
	{"dma_pool_alloc", KernelCheckerAPI::CK_KALLOC},
	{"dmam_alloc_coherent", KernelCheckerAPI::CK_KALLOC},
	{"dmam_alloc_noncoherent", KernelCheckerAPI::CK_KALLOC},
	{"dmi_alloc", KernelCheckerAPI::CK_KALLOC},
	{"do_kimage_alloc_init", KernelCheckerAPI::CK_KALLOC},
	{"dquot_alloc", KernelCheckerAPI::CK_KALLOC},
	{"ecryptfs_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"elevator_alloc", KernelCheckerAPI::CK_KALLOC},
	{"encrypted_key_alloc", KernelCheckerAPI::CK_KALLOC},
	{"eseqiv_alloc", KernelCheckerAPI::CK_KALLOC},
	{"ext4_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"ext4_es_alloc_extent", KernelCheckerAPI::CK_KALLOC},
	{"ext4_kvmalloc", KernelCheckerAPI::CK_KALLOC},
	{"ext4_kvzalloc", KernelCheckerAPI::CK_KALLOC},
	{"fanotify_alloc_event", KernelCheckerAPI::CK_KALLOC},
	{"fasync_alloc", KernelCheckerAPI::CK_KALLOC},
	{"fat_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"fat_cache_alloc", KernelCheckerAPI::CK_KALLOC},
	{"find_alloc_undo", KernelCheckerAPI::CK_KALLOC},
	{"find_and_alloc_map", KernelCheckerAPI::CK_KALLOC},
	{"flex_array_alloc", KernelCheckerAPI::CK_KALLOC},
	{"framebuffer_alloc", KernelCheckerAPI::CK_KALLOC},
	{"fsnotify_alloc_group", KernelCheckerAPI::CK_KALLOC},
	{"fuse_alloc_forget", KernelCheckerAPI::CK_KALLOC},
	{"fuse_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"fuse_file_alloc", KernelCheckerAPI::CK_KALLOC},
	{"fuse_request_alloc", KernelCheckerAPI::CK_KALLOC},
	{"fuse_request_alloc_nofs", KernelCheckerAPI::CK_KALLOC},
	{"gart_alloc_coherent", KernelCheckerAPI::CK_KALLOC},
	{"gen_pool_dma_alloc", KernelCheckerAPI::CK_KALLOC},
	{"groups_alloc", KernelCheckerAPI::CK_KALLOC},
	{"htab_map_alloc", KernelCheckerAPI::CK_KALLOC},
	{"huge_pte_alloc", KernelCheckerAPI::CK_KALLOC},
	{"hugetlb_cgroup_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"hugetlbfs_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"hvc_alloc", KernelCheckerAPI::CK_KALLOC},
	{"i8xx_alloc_pages", KernelCheckerAPI::CK_KALLOC},
	{"ima_alloc_atfm", KernelCheckerAPI::CK_KALLOC},
	{"ima_alloc_pages", KernelCheckerAPI::CK_KALLOC},
	{"ima_alloc_tfm", KernelCheckerAPI::CK_KALLOC},
	{"input_allocate_device", KernelCheckerAPI::CK_KALLOC},
	{"intel_fake_agp_alloc_by_type", KernelCheckerAPI::CK_KALLOC},
	{"ioctx_alloc", KernelCheckerAPI::CK_KALLOC},
	{"ipc_alloc", KernelCheckerAPI::CK_KALLOC},
	{"ipc_rcu_alloc", KernelCheckerAPI::CK_KALLOC},
	{"irq_alloc_generic_chip", KernelCheckerAPI::CK_KALLOC},
	{"jbd2_alloc", KernelCheckerAPI::CK_KALLOC},
	{"jbd2_alloc_handle", KernelCheckerAPI::CK_KALLOC},
	{"jbd2_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"journal_alloc_journal_head", KernelCheckerAPI::CK_KALLOC},
	{"kcalloc", KernelCheckerAPI::CK_KALLOC},
	{"key_alloc", KernelCheckerAPI::CK_KALLOC},
	{"keyring_alloc", KernelCheckerAPI::CK_KALLOC},
	{"khugepaged_alloc_page", KernelCheckerAPI::CK_KALLOC},
	{"kimage_alloc_control_pages", KernelCheckerAPI::CK_KALLOC},
	{"kimage_alloc_crash_control_pages", KernelCheckerAPI::CK_KALLOC},
	{"kimage_alloc_normal_control_pages", KernelCheckerAPI::CK_KALLOC},
	{"kimage_alloc_page", KernelCheckerAPI::CK_KALLOC},
	{"kimage_alloc_pages", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_array", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_large", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_large_node", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_node", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_order", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_order_trace", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_parameter", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_section_memmap", KernelCheckerAPI::CK_KALLOC},
	{"kmalloc_slab", KernelCheckerAPI::CK_KALLOC},
	{"kmem_cache_alloc", KernelCheckerAPI::CK_KALLOC},
	{"kmem_cache_alloc_node", KernelCheckerAPI::CK_KALLOC},
	{"kmem_cache_alloc_node_trace", KernelCheckerAPI::CK_KALLOC},
	{"kmem_cache_alloc_trace", KernelCheckerAPI::CK_KALLOC},
	{"kmem_cache_zalloc", KernelCheckerAPI::CK_KALLOC},
	{"krealloc", KernelCheckerAPI::CK_KALLOC},
	{"kzalloc", KernelCheckerAPI::CK_KALLOC},
	{"kzalloc_node", KernelCheckerAPI::CK_KALLOC},
	{"layout_and_allocate", KernelCheckerAPI::CK_KALLOC},
	{"lease_alloc", KernelCheckerAPI::CK_KALLOC},
	{"locks_alloc_lock", KernelCheckerAPI::CK_KALLOC},
	{"make_alloc_exact", KernelCheckerAPI::CK_KALLOC},
	{"mb_cache_entry_alloc", KernelCheckerAPI::CK_KALLOC},
	{"mem_cgroup_alloc", KernelCheckerAPI::CK_KALLOC},
	{"mem_cgroup_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc_internal", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc_low_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc_node", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc_node_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc_try_nid", KernelCheckerAPI::CK_KALLOC},
	{"memblock_virt_alloc_try_nid_nopanic", KernelCheckerAPI::CK_KALLOC},
	{"mempool_alloc", KernelCheckerAPI::CK_KALLOC},
	{"mempool_alloc_pages", KernelCheckerAPI::CK_KALLOC},
	{"mempool_alloc_pages_isa", KernelCheckerAPI::CK_KALLOC},
	{"mempool_alloc_slab", KernelCheckerAPI::CK_KALLOC},
	{"mempool_kmalloc", KernelCheckerAPI::CK_KALLOC},
	{"mm_alloc", KernelCheckerAPI::CK_KALLOC},
	{"module_alloc", KernelCheckerAPI::CK_KALLOC},
	{"module_alloc_update_bounds", KernelCheckerAPI::CK_KALLOC},
	{"mpage_alloc", KernelCheckerAPI::CK_KALLOC},
	{"mpi_alloc", KernelCheckerAPI::CK_KALLOC},
	{"mpi_alloc_limb_space", KernelCheckerAPI::CK_KALLOC},
	{"msrs_alloc", KernelCheckerAPI::CK_KALLOC},
	{"page_cache_alloc_cold", KernelCheckerAPI::CK_KALLOC},
	{"page_cache_alloc_readahead", KernelCheckerAPI::CK_KALLOC},
	{"pci_alloc_bus", KernelCheckerAPI::CK_KALLOC},
	{"pci_alloc_child_bus", KernelCheckerAPI::CK_KALLOC},
	{"pci_alloc_dev", KernelCheckerAPI::CK_KALLOC},
	{"pci_alloc_host_bridge", KernelCheckerAPI::CK_KALLOC},
	{"pcpu_alloc", KernelCheckerAPI::CK_KALLOC},
	{"pcpu_alloc_alloc_info", KernelCheckerAPI::CK_KALLOC},
	{"pcpu_alloc_bootmem", KernelCheckerAPI::CK_KALLOC},
	{"pcpu_alloc_chunk", KernelCheckerAPI::CK_KALLOC},
	{"pcpu_build_alloc_info", KernelCheckerAPI::CK_KALLOC},
	{"pcpu_fc_alloc", KernelCheckerAPI::CK_KALLOC},
	{"pcpu_mem_zalloc", KernelCheckerAPI::CK_KALLOC},
	{"perf_cgroup_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"perf_event_alloc", KernelCheckerAPI::CK_KALLOC},
	{"perf_mmap_alloc_page", KernelCheckerAPI::CK_KALLOC},
	{"pgd_alloc", KernelCheckerAPI::CK_KALLOC},
	{"pidlist_allocate", KernelCheckerAPI::CK_KALLOC},
	{"platform_device_alloc", KernelCheckerAPI::CK_KALLOC},
	{"pmd_alloc", KernelCheckerAPI::CK_KALLOC},
	{"pmd_alloc.2189", KernelCheckerAPI::CK_KALLOC},
	{"pmd_alloc.2450", KernelCheckerAPI::CK_KALLOC},
	{"pmd_alloc.3330", KernelCheckerAPI::CK_KALLOC},
	{"pmd_alloc_one", KernelCheckerAPI::CK_KALLOC},
	{"pool_alloc_page", KernelCheckerAPI::CK_KALLOC},
	{"posix_acl_alloc", KernelCheckerAPI::CK_KALLOC},
	{"proc_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"pte_alloc_one", KernelCheckerAPI::CK_KALLOC},
	{"pte_alloc_one_kernel", KernelCheckerAPI::CK_KALLOC},
	{"pud_alloc", KernelCheckerAPI::CK_KALLOC},
	{"pud_alloc_one", KernelCheckerAPI::CK_KALLOC},
	{"rb_alloc", KernelCheckerAPI::CK_KALLOC},
	{"rb_allocate_cpu_buffer", KernelCheckerAPI::CK_KALLOC},
	{"regcache_rbtree_node_alloc", KernelCheckerAPI::CK_KALLOC},
	{"regmap_field_alloc", KernelCheckerAPI::CK_KALLOC},
	{"relay_alloc_buf", KernelCheckerAPI::CK_KALLOC},
	{"relay_alloc_page_array", KernelCheckerAPI::CK_KALLOC},
	{"resv_map_alloc", KernelCheckerAPI::CK_KALLOC},
	{"ring_buffer_alloc_read_page", KernelCheckerAPI::CK_KALLOC},
	{"scsi_alloc_host_cmd_pool", KernelCheckerAPI::CK_KALLOC},
	{"scsi_alloc_queue", KernelCheckerAPI::CK_KALLOC},
	{"scsi_alloc_sdev", KernelCheckerAPI::CK_KALLOC},
	{"scsi_alloc_target", KernelCheckerAPI::CK_KALLOC},
	{"scsi_host_alloc", KernelCheckerAPI::CK_KALLOC},
	{"scsi_mq_alloc_queue", KernelCheckerAPI::CK_KALLOC},
	{"scsi_sg_alloc", KernelCheckerAPI::CK_KALLOC},
	{"sdev_evt_alloc", KernelCheckerAPI::CK_KALLOC},
	{"seq_buf_alloc", KernelCheckerAPI::CK_KALLOC},
	{"sg_alloc", KernelCheckerAPI::CK_KALLOC},
	{"sg_kmalloc", KernelCheckerAPI::CK_KALLOC},
	{"shash_alloc_instance", KernelCheckerAPI::CK_KALLOC},
	{"shmem_alloc_inode", KernelCheckerAPI::CK_KALLOC},
	{"shmem_alloc_page", KernelCheckerAPI::CK_KALLOC},
	{"sigqueue_alloc", KernelCheckerAPI::CK_KALLOC},
	{"simple_xattr_alloc", KernelCheckerAPI::CK_KALLOC},
	{"skcipher_geniv_alloc", KernelCheckerAPI::CK_KALLOC},
	{"slab_alloc", KernelCheckerAPI::CK_KALLOC},
	{"slab_alloc_node", KernelCheckerAPI::CK_KALLOC},
	{"slab_pre_alloc_hook", KernelCheckerAPI::CK_KALLOC},
	{"sp_alloc", KernelCheckerAPI::CK_KALLOC},
	{"sparse_early_usemaps_alloc_pgdat_section", KernelCheckerAPI::CK_KALLOC},
	{"sparse_index_alloc", KernelCheckerAPI::CK_KALLOC},
	{"swiotlb_alloc_coherent", KernelCheckerAPI::CK_KALLOC},
	{"trusted_options_alloc", KernelCheckerAPI::CK_KALLOC},
	{"trusted_payload_alloc", KernelCheckerAPI::CK_KALLOC},
	{"tty_buffer_alloc", KernelCheckerAPI::CK_KALLOC},
	{"uncore_alloc_box", KernelCheckerAPI::CK_KALLOC},
	{"vb_alloc", KernelCheckerAPI::CK_KALLOC},
	{"vc_deallocate", KernelCheckerAPI::CK_KALLOC},
	{"vmalloc", KernelCheckerAPI::CK_KALLOC},
	{"vmalloc_32", KernelCheckerAPI::CK_KALLOC},
	{"vmalloc_32_user", KernelCheckerAPI::CK_KALLOC},
	{"vmalloc_exec", KernelCheckerAPI::CK_KALLOC},
	{"vmalloc_node", KernelCheckerAPI::CK_KALLOC},
	{"vmalloc_to_page", KernelCheckerAPI::CK_KALLOC},
	{"vmalloc_user", KernelCheckerAPI::CK_KALLOC},
	{"vmemmap_alloc_block", KernelCheckerAPI::CK_KALLOC},
	{"vmemmap_alloc_block_buf", KernelCheckerAPI::CK_KALLOC},
	{"vzalloc", KernelCheckerAPI::CK_KALLOC},
	{"vzalloc_node", KernelCheckerAPI::CK_KALLOC},
	{"x86_swiotlb_alloc_coherent", KernelCheckerAPI::CK_KALLOC},
	{"zswap_entry_cache_alloc", KernelCheckerAPI::CK_KALLOC},
	{"freezer_css_alloc", KernelCheckerAPI::CK_KALLOC},
	{"__get_free_pages", KernelCheckerAPI::CK_KALLOC},
	{"devm_get_free_pages", KernelCheckerAPI::CK_KALLOC},
	{"fget", KernelCheckerAPI::CK_KALLOC},
	{"new_handle", KernelCheckerAPI::CK_KALLOC},
	{"new_inode", KernelCheckerAPI::CK_KALLOC},
	{"kobject_create", KernelCheckerAPI::CK_KALLOC},
	{"alloc_ldt_struct", KernelCheckerAPI::CK_KALLOC},
	{"prepare_creds", KernelCheckerAPI::CK_KALLOC},
	{"__request_region", KernelCheckerAPI::CK_KALLOC},
	{"sget", KernelCheckerAPI::CK_KALLOC},
	{"__proc_create", KernelCheckerAPI::CK_KALLOC},
	{"sg_add_request", KernelCheckerAPI::CK_KALLOC},

	{"__bio_free", KernelCheckerAPI::CK_KFREE},
	{"__blk_queue_free_tags", KernelCheckerAPI::CK_KFREE},
	{"__bpf_prog_free", KernelCheckerAPI::CK_KFREE},
	{"__cpufreq_stats_free_table", KernelCheckerAPI::CK_KFREE},
	{"__d_free", KernelCheckerAPI::CK_KFREE},
	{"__d_free_external", KernelCheckerAPI::CK_KFREE},
	{"__dquot_free_space", KernelCheckerAPI::CK_KFREE},
	{"__free_event", KernelCheckerAPI::CK_KFREE},
	{"__free_fdtable", KernelCheckerAPI::CK_KFREE},
	{"__free_filter", KernelCheckerAPI::CK_KFREE},
	{"__free_kmem_pages", KernelCheckerAPI::CK_KFREE},
	{"__free_pages", KernelCheckerAPI::CK_KFREE},
	{"__free_pages_bootmem", KernelCheckerAPI::CK_KFREE},
	{"__free_pages_memory", KernelCheckerAPI::CK_KFREE},
	{"__free_pages_ok", KernelCheckerAPI::CK_KFREE},
	{"__free_percpu_irq", KernelCheckerAPI::CK_KFREE},
	{"__free_pred_stack", KernelCheckerAPI::CK_KFREE},
	{"__free_preds", KernelCheckerAPI::CK_KFREE},
	{"__free_reserved_page", KernelCheckerAPI::CK_KFREE},
	{"__free_subsystem_filter", KernelCheckerAPI::CK_KFREE},
	{"__free_vmap_area", KernelCheckerAPI::CK_KFREE},
	{"__freed_request", KernelCheckerAPI::CK_KFREE},
	{"__fw_free_buf", KernelCheckerAPI::CK_KFREE},
	{"__gpiod_free", KernelCheckerAPI::CK_KFREE},
	{"__kfifo_free", KernelCheckerAPI::CK_KFREE},
	{"__kfree_section_memmap", KernelCheckerAPI::CK_KFREE},
	{"__mem_cgroup_free", KernelCheckerAPI::CK_KFREE},
	{"__memblock_free_early", KernelCheckerAPI::CK_KFREE},
	{"__memblock_free_late", KernelCheckerAPI::CK_KFREE},
	{"__mod_zone_freepage_state", KernelCheckerAPI::CK_KFREE},
	{"__online_page_free", KernelCheckerAPI::CK_KFREE},
	{"__sdt_free", KernelCheckerAPI::CK_KFREE},
	{"__sigqueue_free", KernelCheckerAPI::CK_KFREE},
	{"__try_to_free_cp_buf", KernelCheckerAPI::CK_KFREE},
	{"__wait_on_freeing_inode", KernelCheckerAPI::CK_KFREE},
	{"_free_event", KernelCheckerAPI::CK_KFREE},
	{"ablkcipher_request_free", KernelCheckerAPI::CK_KFREE},
	{"acpi_gpiochip_free_interrupts", KernelCheckerAPI::CK_KFREE},
	{"aead_geniv_free", KernelCheckerAPI::CK_KFREE},
	{"aead_request_free", KernelCheckerAPI::CK_KFREE},
	{"agp_free_memory", KernelCheckerAPI::CK_KFREE},
	{"agp_free_memory_wrap", KernelCheckerAPI::CK_KFREE},
	{"agp_free_page_array", KernelCheckerAPI::CK_KFREE},
	{"agp_generic_free_by_type", KernelCheckerAPI::CK_KFREE},
	{"agp_generic_free_gatt_table", KernelCheckerAPI::CK_KFREE},
	{"ahash_free_instance", KernelCheckerAPI::CK_KFREE},
	{"ahash_request_free", KernelCheckerAPI::CK_KFREE},
	{"aio_free_ring", KernelCheckerAPI::CK_KFREE},
	{"anon_vma_chain_free", KernelCheckerAPI::CK_KFREE},
	{"anon_vma_free", KernelCheckerAPI::CK_KFREE},
	{"arch_free_page", KernelCheckerAPI::CK_KFREE},
	{"argv_free", KernelCheckerAPI::CK_KFREE},
	{"array_map_free", KernelCheckerAPI::CK_KFREE},
	{"asymmetric_key_free_preparse", KernelCheckerAPI::CK_KFREE},
	{"asymmetric_key_match_free", KernelCheckerAPI::CK_KFREE},
	{"ats_free_one", KernelCheckerAPI::CK_KFREE},
//	{"audit_free", KernelCheckerAPI::CK_KFREE},
	{"autogroup_free", KernelCheckerAPI::CK_KFREE},
	{"big_key_free_preparse", KernelCheckerAPI::CK_KFREE},
	{"bio_free", KernelCheckerAPI::CK_KFREE},
	{"bio_integrity_free", KernelCheckerAPI::CK_KFREE},
	{"bioset_free", KernelCheckerAPI::CK_KFREE},
	{"bioset_integrity_free", KernelCheckerAPI::CK_KFREE},
	{"bitmap_find_free_region", KernelCheckerAPI::CK_KFREE},
	//{"blk_free_devt", KernelCheckerAPI::CK_KFREE},
	{"blk_free_flush_queue", KernelCheckerAPI::CK_KFREE},
	{"blk_free_queue_rcu", KernelCheckerAPI::CK_KFREE},
	{"blk_free_tags", KernelCheckerAPI::CK_KFREE},
	{"blk_mq_free_bitmap", KernelCheckerAPI::CK_KFREE},
	{"blk_mq_free_queue", KernelCheckerAPI::CK_KFREE},
	{"blk_mq_free_request", KernelCheckerAPI::CK_KFREE},
	{"blk_mq_free_tag_set", KernelCheckerAPI::CK_KFREE},
	{"blk_mq_free_tags", KernelCheckerAPI::CK_KFREE},
	{"blk_mq_has_free_tags", KernelCheckerAPI::CK_KFREE},
	{"blk_queue_free_tags", KernelCheckerAPI::CK_KFREE},
	{"blkcg_css_free", KernelCheckerAPI::CK_KFREE},
	{"blkg_free", KernelCheckerAPI::CK_KFREE},
	{"bpf_jit_free", KernelCheckerAPI::CK_KFREE},
	{"bpf_map_free_deferred", KernelCheckerAPI::CK_KFREE},
	{"bpf_prog_free", KernelCheckerAPI::CK_KFREE},
	{"bpf_prog_free_deferred", KernelCheckerAPI::CK_KFREE},
	{"bpf_prog_unlock_free", KernelCheckerAPI::CK_KFREE},
	{"bsg_free_command", KernelCheckerAPI::CK_KFREE},
	{"bt_free", KernelCheckerAPI::CK_KFREE},
	{"bt_has_free_tags", KernelCheckerAPI::CK_KFREE},
	{"bucket_table_free", KernelCheckerAPI::CK_KFREE},
	{"buffer_freed", KernelCheckerAPI::CK_KFREE},
	{"calgary_free_bus", KernelCheckerAPI::CK_KFREE},
	{"call_usermodehelper_freeinfo", KernelCheckerAPI::CK_KFREE},
	{"cap_cred_free", KernelCheckerAPI::CK_KFREE},
	{"cap_file_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_inode_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_key_free", KernelCheckerAPI::CK_KFREE},
	{"cap_msg_msg_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_msg_queue_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_sb_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_sem_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_shm_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_sk_free_security", KernelCheckerAPI::CK_KFREE},
	{"cap_task_free", KernelCheckerAPI::CK_KFREE},
	{"cap_tun_dev_free_security", KernelCheckerAPI::CK_KFREE},
	{"cgroup_free_root", KernelCheckerAPI::CK_KFREE},
	{"chainiv_free", KernelCheckerAPI::CK_KFREE},
	{"check_free_space", KernelCheckerAPI::CK_KFREE},
	{"clear_buffer_freed", KernelCheckerAPI::CK_KFREE},
	{"cluster_is_free", KernelCheckerAPI::CK_KFREE},
	{"cmdline_parts_free", KernelCheckerAPI::CK_KFREE},
	{"compaction_free", KernelCheckerAPI::CK_KFREE},
	{"con_free_unimap", KernelCheckerAPI::CK_KFREE},
	{"count_free", KernelCheckerAPI::CK_KFREE},
	{"cpu_cgroup_css_free", KernelCheckerAPI::CK_KFREE},
	{"cpuacct_css_free", KernelCheckerAPI::CK_KFREE},
	{"cpufreq_policy_free", KernelCheckerAPI::CK_KFREE},
	{"cpufreq_stats_free_table", KernelCheckerAPI::CK_KFREE},
	{"cpuidle_free_state_kobj", KernelCheckerAPI::CK_KFREE},
	{"cpuset_css_free", KernelCheckerAPI::CK_KFREE},
	{"crash_free_reserved_phys_range", KernelCheckerAPI::CK_KFREE},
	{"crypto_cbc_free", KernelCheckerAPI::CK_KFREE},
	{"crypto_ecb_free", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_ablkcipher", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_aead", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_ahash", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_blkcipher", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_cipher", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_comp", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_hash", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_pcomp", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_rng", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_shash", KernelCheckerAPI::CK_KFREE},
	{"crypto_free_tfm", KernelCheckerAPI::CK_KFREE},
	{"css_free_rcu_fn", KernelCheckerAPI::CK_KFREE},
	{"css_free_work_fn", KernelCheckerAPI::CK_KFREE},
	{"ddebug_table_free", KernelCheckerAPI::CK_KFREE},
	{"debug_check_no_locks_freed", KernelCheckerAPI::CK_KFREE},
	{"debug_check_no_obj_freed", KernelCheckerAPI::CK_KFREE},
	{"delayacct_tsk_free", KernelCheckerAPI::CK_KFREE},
	{"delayed_free", KernelCheckerAPI::CK_KFREE},
	{"delayed_free_pidns", KernelCheckerAPI::CK_KFREE},
	{"delayed_free_vfsmnt", KernelCheckerAPI::CK_KFREE},
	{"dentry_free", KernelCheckerAPI::CK_KFREE},
	{"devcgroup_css_free", KernelCheckerAPI::CK_KFREE},
	{"devm_free_pages", KernelCheckerAPI::CK_KFREE},
	{"devm_gpio_free", KernelCheckerAPI::CK_KFREE},
	{"devres_free", KernelCheckerAPI::CK_KFREE},
	{"dissolve_free_huge_page", KernelCheckerAPI::CK_KFREE},
	{"dma_common_free_remap", KernelCheckerAPI::CK_KFREE},
	{"dnotify_free_mark", KernelCheckerAPI::CK_KFREE},
	{"dquot_free_block", KernelCheckerAPI::CK_KFREE},
	{"dquot_free_inode", KernelCheckerAPI::CK_KFREE},
	{"dquot_free_reserved_space", KernelCheckerAPI::CK_KFREE},
	{"dquot_free_space", KernelCheckerAPI::CK_KFREE},
	{"dquot_free_space_nodirty", KernelCheckerAPI::CK_KFREE},
	{"ecryptfs_acquire_free_msg_ctx", KernelCheckerAPI::CK_KFREE},
	{"ecryptfs_dentry_free_rcu", KernelCheckerAPI::CK_KFREE},
	{"ecryptfs_msg_ctx_alloc_to_free", KernelCheckerAPI::CK_KFREE},
	{"ecryptfs_msg_ctx_free_to_alloc", KernelCheckerAPI::CK_KFREE},
	{"encrypted_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"ep_free", KernelCheckerAPI::CK_KFREE},
	{"epi_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"eseqiv_free", KernelCheckerAPI::CK_KFREE},
	{"evdev_free", KernelCheckerAPI::CK_KFREE},
	{"eventfd_free", KernelCheckerAPI::CK_KFREE},
	{"eventfd_free_ctx", KernelCheckerAPI::CK_KFREE},
	{"ext4_claim_free_clusters", KernelCheckerAPI::CK_KFREE},
	{"ext4_count_free", KernelCheckerAPI::CK_KFREE},
	{"ext4_count_free_clusters", KernelCheckerAPI::CK_KFREE},
	{"ext4_count_free_inodes", KernelCheckerAPI::CK_KFREE},
	{"ext4_free_blocks_count", KernelCheckerAPI::CK_KFREE},
	{"ext4_free_blocks_count_set", KernelCheckerAPI::CK_KFREE},
	{"ext4_has_free_clusters", KernelCheckerAPI::CK_KFREE},
	{"ext4_htree_free_dir_info", KernelCheckerAPI::CK_KFREE},
	{"ext4_print_free_blocks", KernelCheckerAPI::CK_KFREE},
	{"ext4_trim_all_free", KernelCheckerAPI::CK_KFREE},
	{"fanotify_free_event", KernelCheckerAPI::CK_KFREE},
	{"fanotify_free_group_priv", KernelCheckerAPI::CK_KFREE},
	{"fanotify_free_mark", KernelCheckerAPI::CK_KFREE},
	{"fasync_free", KernelCheckerAPI::CK_KFREE},
	{"fasync_free_rcu", KernelCheckerAPI::CK_KFREE},
	{"fat_cache_free", KernelCheckerAPI::CK_KFREE},
	{"fat_count_free_clusters", KernelCheckerAPI::CK_KFREE},
	{"fat_free", KernelCheckerAPI::CK_KFREE},
	{"fat_free_clusters", KernelCheckerAPI::CK_KFREE},
	{"fbcon_free_font", KernelCheckerAPI::CK_KFREE},
	{"file_free", KernelCheckerAPI::CK_KFREE},
	{"file_free_rcu", KernelCheckerAPI::CK_KFREE},
	{"find_free_bus_resource", KernelCheckerAPI::CK_KFREE},
	{"firmware_free_data", KernelCheckerAPI::CK_KFREE},
	{"flex_array_free", KernelCheckerAPI::CK_KFREE},
	{"flex_array_free_parts", KernelCheckerAPI::CK_KFREE},
	{"fpu_free", KernelCheckerAPI::CK_KFREE},
	{"free_aggr_kprobe", KernelCheckerAPI::CK_KFREE},
	{"free_area_init", KernelCheckerAPI::CK_KFREE},
	{"free_area_init_nodes", KernelCheckerAPI::CK_KFREE},
	{"free_arg_page", KernelCheckerAPI::CK_KFREE},
	{"free_arg_pages", KernelCheckerAPI::CK_KFREE},
	{"free_bitfield_fetch_param", KernelCheckerAPI::CK_KFREE},
	{"free_bootmem_node", KernelCheckerAPI::CK_KFREE},
	{"free_bprm", KernelCheckerAPI::CK_KFREE},
	{"free_buf", KernelCheckerAPI::CK_KFREE},
	{"free_buffer_head", KernelCheckerAPI::CK_KFREE},
	{"free_buffer_page", KernelCheckerAPI::CK_KFREE},
	{"free_cgrp_cset_links", KernelCheckerAPI::CK_KFREE},
	{"free_compound_page", KernelCheckerAPI::CK_KFREE},
	{"free_copy", KernelCheckerAPI::CK_KFREE},
	{"free_cpumask_var", KernelCheckerAPI::CK_KFREE},
	{"free_dcookie", KernelCheckerAPI::CK_KFREE},
	{"free_deref_fetch_param", KernelCheckerAPI::CK_KFREE},
	{"free_event", KernelCheckerAPI::CK_KFREE},
	{"free_event_filter", KernelCheckerAPI::CK_KFREE},
	{"free_event_rcu", KernelCheckerAPI::CK_KFREE},
	{"free_fair_sched_group", KernelCheckerAPI::CK_KFREE},
	{"free_fake_cpuc", KernelCheckerAPI::CK_KFREE},
	{"free_fdtable_rcu", KernelCheckerAPI::CK_KFREE},
	{"free_flex_gd", KernelCheckerAPI::CK_KFREE},
	{"free_fs_struct", KernelCheckerAPI::CK_KFREE},
	{"free_gigantic_page", KernelCheckerAPI::CK_KFREE},
	{"free_hot_cold_page", KernelCheckerAPI::CK_KFREE},
	{"free_hot_cold_page_list", KernelCheckerAPI::CK_KFREE},
	{"free_huge_page", KernelCheckerAPI::CK_KFREE},
	{"free_init_pages", KernelCheckerAPI::CK_KFREE},
	{"free_inode_nonrcu", KernelCheckerAPI::CK_KFREE},
	{"free_insn_page", KernelCheckerAPI::CK_KFREE},
	{"free_insn_slot", KernelCheckerAPI::CK_KFREE},
	{"free_ioctx", KernelCheckerAPI::CK_KFREE},
	{"free_ioctx_reqs", KernelCheckerAPI::CK_KFREE},
	{"free_ioctx_users", KernelCheckerAPI::CK_KFREE},
	{"free_ipc_ns", KernelCheckerAPI::CK_KFREE},
	{"free_kclist_ents", KernelCheckerAPI::CK_KFREE},
	{"free_kmem_cache_nodes", KernelCheckerAPI::CK_KFREE},
	{"free_link", KernelCheckerAPI::CK_KFREE},
	{"free_link_state", KernelCheckerAPI::CK_KFREE},
	{"free_list", KernelCheckerAPI::CK_KFREE},
	{"free_loc_track", KernelCheckerAPI::CK_KFREE},
	{"free_map_bootmem", KernelCheckerAPI::CK_KFREE},
	{"free_masks", KernelCheckerAPI::CK_KFREE},
	{"free_mem_cgroup_per_zone_info", KernelCheckerAPI::CK_KFREE},
	{"free_mm_slot", KernelCheckerAPI::CK_KFREE},
	{"free_mnt_ns", KernelCheckerAPI::CK_KFREE},
	{"free_modinfo", KernelCheckerAPI::CK_KFREE},
	{"free_modinfo_srcversion", KernelCheckerAPI::CK_KFREE},
	{"free_modinfo_version", KernelCheckerAPI::CK_KFREE},
	{"free_modprobe_argv", KernelCheckerAPI::CK_KFREE},
	{"free_module", KernelCheckerAPI::CK_KFREE},
	{"free_module_param_attrs", KernelCheckerAPI::CK_KFREE},
	{"free_msg", KernelCheckerAPI::CK_KFREE},
	{"free_msi_irqs", KernelCheckerAPI::CK_KFREE},
	{"free_notes_attrs", KernelCheckerAPI::CK_KFREE},
	{"free_nsproxy", KernelCheckerAPI::CK_KFREE},
	{"free_optinsn_slot", KernelCheckerAPI::CK_KFREE},
	{"free_page_and_swap_cache", KernelCheckerAPI::CK_KFREE},
	{"free_pages_and_swap_cache", KernelCheckerAPI::CK_KFREE},
	{"free_pages_check", KernelCheckerAPI::CK_KFREE},
	{"free_pages_exact", KernelCheckerAPI::CK_KFREE},
	{"free_pages_prepare", KernelCheckerAPI::CK_KFREE},
	{"free_pagetable", KernelCheckerAPI::CK_KFREE},
	{"free_part_info", KernelCheckerAPI::CK_KFREE},
	{"free_part_stats", KernelCheckerAPI::CK_KFREE},
	{"free_partitions", KernelCheckerAPI::CK_KFREE},
	{"free_percpu", KernelCheckerAPI::CK_KFREE},
	{"free_percpu_irq", KernelCheckerAPI::CK_KFREE},
	//{"free_pfn_range", KernelCheckerAPI::CK_KFREE}, causes an error 
	{"free_pgd_range", KernelCheckerAPI::CK_KFREE},
	{"free_pgtables", KernelCheckerAPI::CK_KFREE},
	{"free_pi_state", KernelCheckerAPI::CK_KFREE},
	{"free_pid", KernelCheckerAPI::CK_KFREE},
	{"free_pid_ns", KernelCheckerAPI::CK_KFREE},
	{"free_pidmap", KernelCheckerAPI::CK_KFREE},
	{"free_pipe_info", KernelCheckerAPI::CK_KFREE},
	{"free_pmds", KernelCheckerAPI::CK_KFREE},
	{"free_pmu_context", KernelCheckerAPI::CK_KFREE},
	{"free_poll_entry", KernelCheckerAPI::CK_KFREE},
	{"free_proc_entry", KernelCheckerAPI::CK_KFREE},
	{"free_rb_tree_fname", KernelCheckerAPI::CK_KFREE},
	{"free_reserved_page", KernelCheckerAPI::CK_KFREE},
	{"free_resource", KernelCheckerAPI::CK_KFREE},
	{"free_rmap_item", KernelCheckerAPI::CK_KFREE},
	{"free_rootdomain", KernelCheckerAPI::CK_KFREE},
	{"free_rp_inst", KernelCheckerAPI::CK_KFREE},
	{"free_rt_sched_group", KernelCheckerAPI::CK_KFREE},
	{"free_saved_cmdlines_buffer", KernelCheckerAPI::CK_KFREE},
	{"free_sched_domain", KernelCheckerAPI::CK_KFREE},
	{"free_sched_domains", KernelCheckerAPI::CK_KFREE},
	{"free_sched_group", KernelCheckerAPI::CK_KFREE},
	{"free_sched_group_rcu", KernelCheckerAPI::CK_KFREE},
	{"free_sched_groups", KernelCheckerAPI::CK_KFREE},
	{"free_secdata", KernelCheckerAPI::CK_KFREE},
	{"free_sect_attrs", KernelCheckerAPI::CK_KFREE},
	{"free_section_usemap", KernelCheckerAPI::CK_KFREE},
	{"free_signal_struct", KernelCheckerAPI::CK_KFREE},
	{"free_stable_node", KernelCheckerAPI::CK_KFREE},
	{"free_states", KernelCheckerAPI::CK_KFREE},
	{"free_subpart", KernelCheckerAPI::CK_KFREE},
	{"free_swap_cache", KernelCheckerAPI::CK_KFREE},
	{"free_swap_count_continuations", KernelCheckerAPI::CK_KFREE},
	{"free_symbol_cache", KernelCheckerAPI::CK_KFREE},
	{"free_task", KernelCheckerAPI::CK_KFREE},
	{"free_task_struct", KernelCheckerAPI::CK_KFREE},
	{"free_tce_table", KernelCheckerAPI::CK_KFREE},
	{"free_thread_info", KernelCheckerAPI::CK_KFREE},
	{"free_thread_xstate", KernelCheckerAPI::CK_KFREE},
	{"free_trace_buffer", KernelCheckerAPI::CK_KFREE},
	{"free_trace_buffers", KernelCheckerAPI::CK_KFREE},
	{"free_trace_kprobe", KernelCheckerAPI::CK_KFREE},
	{"free_transition_pgtable", KernelCheckerAPI::CK_KFREE},
	{"free_trial_cpuset", KernelCheckerAPI::CK_KFREE},
	{"free_tty_struct", KernelCheckerAPI::CK_KFREE},
	{"free_uid", KernelCheckerAPI::CK_KFREE},
	{"free_unbound_pwq", KernelCheckerAPI::CK_KFREE},
	{"free_unmap_vmap_area", KernelCheckerAPI::CK_KFREE},
	{"free_unmap_vmap_area_noflush", KernelCheckerAPI::CK_KFREE},
	{"free_used_maps", KernelCheckerAPI::CK_KFREE},
	{"free_user", KernelCheckerAPI::CK_KFREE},
	{"free_user_ns", KernelCheckerAPI::CK_KFREE},
	{"free_uts_ns", KernelCheckerAPI::CK_KFREE},
	{"free_vfsmnt", KernelCheckerAPI::CK_KFREE},
	{"free_vm_area", KernelCheckerAPI::CK_KFREE},
	{"free_vmap_area", KernelCheckerAPI::CK_KFREE},
	{"free_vmap_area_noflush", KernelCheckerAPI::CK_KFREE},
	{"free_vmap_block", KernelCheckerAPI::CK_KFREE},
	{"free_work", KernelCheckerAPI::CK_KFREE},
	{"free_workqueue_attrs", KernelCheckerAPI::CK_KFREE},
	{"free_zbud_page", KernelCheckerAPI::CK_KFREE},
	{"free_zspage", KernelCheckerAPI::CK_KFREE},
	{"freed_request", KernelCheckerAPI::CK_KFREE},
	{"fsnotify_oldname_free", KernelCheckerAPI::CK_KFREE},
	{"ftrace_define_fields_ext4_free_blocks", KernelCheckerAPI::CK_KFREE},
	{"ftrace_define_fields_ext4_free_inode", KernelCheckerAPI::CK_KFREE},
	{"ftrace_define_fields_kmem_free", KernelCheckerAPI::CK_KFREE},
	{"ftrace_define_fields_mm_page_free", KernelCheckerAPI::CK_KFREE},
	{"ftrace_define_fields_mm_page_free_batched", KernelCheckerAPI::CK_KFREE},
	{"ftrace_define_fields_module_free", KernelCheckerAPI::CK_KFREE},
	{"ftrace_profile_free_filter", KernelCheckerAPI::CK_KFREE},
	{"fuse_file_free", KernelCheckerAPI::CK_KFREE},
	{"fuse_free_conn", KernelCheckerAPI::CK_KFREE},
	{"fuse_request_free", KernelCheckerAPI::CK_KFREE},
	{"fw_free_buf", KernelCheckerAPI::CK_KFREE},
	{"gen_pool_free", KernelCheckerAPI::CK_KFREE},
	{"get_default_free_blocks_flags", KernelCheckerAPI::CK_KFREE},
	{"gpio_free_array", KernelCheckerAPI::CK_KFREE},
	{"gpiochip_free_own_desc", KernelCheckerAPI::CK_KFREE},
	{"gpiod_free", KernelCheckerAPI::CK_KFREE},
	{"groups_free", KernelCheckerAPI::CK_KFREE},
	{"htab_map_free", KernelCheckerAPI::CK_KFREE},
	{"hugetlb_cgroup_css_free", KernelCheckerAPI::CK_KFREE},
	{"hugetlb_free_pgd_range", KernelCheckerAPI::CK_KFREE},
	{"hugetlbfs_dec_free_inodes", KernelCheckerAPI::CK_KFREE},
	{"hugetlbfs_inc_free_inodes", KernelCheckerAPI::CK_KFREE},
	{"icq_free_icq_rcu", KernelCheckerAPI::CK_KFREE},
	{"iint_free", KernelCheckerAPI::CK_KFREE},
	{"ima_file_free", KernelCheckerAPI::CK_KFREE},
	{"ima_free_atfm", KernelCheckerAPI::CK_KFREE},
	{"ima_free_pages", KernelCheckerAPI::CK_KFREE},
	{"ima_free_template_entry", KernelCheckerAPI::CK_KFREE},
	{"ima_free_tfm", KernelCheckerAPI::CK_KFREE},
	{"info_bdq_free", KernelCheckerAPI::CK_KFREE},
	{"info_idq_free", KernelCheckerAPI::CK_KFREE},
	{"inotify_free_event", KernelCheckerAPI::CK_KFREE},
	{"inotify_free_group_priv", KernelCheckerAPI::CK_KFREE},
	{"inotify_free_mark", KernelCheckerAPI::CK_KFREE},
	{"input_free_device", KernelCheckerAPI::CK_KFREE},
	{"integrity_inode_free", KernelCheckerAPI::CK_KFREE},
	{"intel_fake_agp_free_gatt_table", KernelCheckerAPI::CK_KFREE},
	{"intel_i810_free_by_type", KernelCheckerAPI::CK_KFREE},
	{"iommu_free", KernelCheckerAPI::CK_KFREE},
	{"ipc_free", KernelCheckerAPI::CK_KFREE},
	{"ipc_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"is_free_buddy_page", KernelCheckerAPI::CK_KFREE},
	{"is_hugepage_on_freelist", KernelCheckerAPI::CK_KFREE},
	{"is_page_cache_freeable", KernelCheckerAPI::CK_KFREE},
	{"isolate_freepages", KernelCheckerAPI::CK_KFREE},
	{"isolate_freepages_range", KernelCheckerAPI::CK_KFREE},
	{"jbd2_free", KernelCheckerAPI::CK_KFREE},
	{"jbd2_free_handle", KernelCheckerAPI::CK_KFREE},
	{"jbd2_free_inode", KernelCheckerAPI::CK_KFREE},
	{"jbd2_journal_free_reserved", KernelCheckerAPI::CK_KFREE},
	{"jbd2_journal_free_transaction", KernelCheckerAPI::CK_KFREE},
	{"journal_free_journal_head", KernelCheckerAPI::CK_KFREE},
	{"k_itimer_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"keyring_free_object", KernelCheckerAPI::CK_KFREE},
	{"keyring_free_preparse", KernelCheckerAPI::CK_KFREE},
	{"kfree", KernelCheckerAPI::CK_KFREE},
	{"kfree_hook", KernelCheckerAPI::CK_KFREE},
	{"kfree_skb", KernelCheckerAPI::CK_KFREE},
	{"__kfree_skb", KernelCheckerAPI::CK_KFREE},
	{"kimage_free", KernelCheckerAPI::CK_KFREE},
	{"kimage_free_extra_pages", KernelCheckerAPI::CK_KFREE},
	{"kimage_free_page_list", KernelCheckerAPI::CK_KFREE},
	{"kimage_free_pages", KernelCheckerAPI::CK_KFREE},
	{"kiocb_free", KernelCheckerAPI::CK_KFREE},
	{"kmem_cache_free", KernelCheckerAPI::CK_KFREE},
	{"kmemcheck_free_shadow", KernelCheckerAPI::CK_KFREE},
	{"kmemleak_free", KernelCheckerAPI::CK_KFREE},
	{"kmemleak_free_part", KernelCheckerAPI::CK_KFREE},
	{"kmemleak_free_percpu", KernelCheckerAPI::CK_KFREE},
	{"kmemleak_free_recursive", KernelCheckerAPI::CK_KFREE},
	{"kvfree", KernelCheckerAPI::CK_KFREE},
	{"kzfree", KernelCheckerAPI::CK_KFREE},
	{"ldm_frag_free", KernelCheckerAPI::CK_KFREE},
	{"ldm_free_vblks", KernelCheckerAPI::CK_KFREE},
	{"locks_free_lock", KernelCheckerAPI::CK_KFREE},
	{"maybe_kfree_parameter", KernelCheckerAPI::CK_KFREE},
	{"mb_buddy_mark_free", KernelCheckerAPI::CK_KFREE},
	{"mb_cache_entry_free", KernelCheckerAPI::CK_KFREE},
	{"mem_cgroup_css_free", KernelCheckerAPI::CK_KFREE},
	{"memcg_free_cache_params", KernelCheckerAPI::CK_KFREE},
	{"mm_free_pgd", KernelCheckerAPI::CK_KFREE},
	{"free_cache", KernelCheckerAPI::CK_KFREE},
	{"mnt_free_id", KernelCheckerAPI::CK_KFREE},
	{"module_unload_free", KernelCheckerAPI::CK_KFREE},
	{"mousedev_free", KernelCheckerAPI::CK_KFREE},
	{"mpi_free", KernelCheckerAPI::CK_KFREE},
	{"mpi_free_limb_space", KernelCheckerAPI::CK_KFREE},
	{"mpol_free_shared_policy", KernelCheckerAPI::CK_KFREE},
	{"msg_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"msrs_free", KernelCheckerAPI::CK_KFREE},
	{"num_free_chunks", KernelCheckerAPI::CK_KFREE},
	{"pageblock_free", KernelCheckerAPI::CK_KFREE},
	{"param_array_free", KernelCheckerAPI::CK_KFREE},
	{"param_free_charp", KernelCheckerAPI::CK_KFREE},
	{"paravirt_free_ldt", KernelCheckerAPI::CK_KFREE},
	{"parse_freebsd", KernelCheckerAPI::CK_KFREE},
	{"part_is_free", KernelCheckerAPI::CK_KFREE},
	{"pci_free_cap_save_buffers", KernelCheckerAPI::CK_KFREE},
	{"pci_free_dynids", KernelCheckerAPI::CK_KFREE},
	{"pci_free_resource_list", KernelCheckerAPI::CK_KFREE},
	{"pci_free_resources", KernelCheckerAPI::CK_KFREE},
	{"pcpu_fc_free", KernelCheckerAPI::CK_KFREE},
	{"pcpu_free_alloc_info", KernelCheckerAPI::CK_KFREE},
	{"pcpu_free_chunk", KernelCheckerAPI::CK_KFREE},
	{"pcpu_free_vm_areas", KernelCheckerAPI::CK_KFREE},
	{"pcpu_mem_free", KernelCheckerAPI::CK_KFREE},
	{"percpu_ida_free", KernelCheckerAPI::CK_KFREE},
	{"percpu_ida_free_tags", KernelCheckerAPI::CK_KFREE},
	{"percpu_modfree", KernelCheckerAPI::CK_KFREE},
	{"perf_cgroup_css_free", KernelCheckerAPI::CK_KFREE},
	{"perf_event_free_filter", KernelCheckerAPI::CK_KFREE},
	{"perf_event_free_task", KernelCheckerAPI::CK_KFREE},
	{"pidlist_free", KernelCheckerAPI::CK_KFREE},
	{"pin_free_rcu", KernelCheckerAPI::CK_KFREE},
	{"pkcs7_free_message", KernelCheckerAPI::CK_KFREE},
	{"pkcs7_free_signed_info", KernelCheckerAPI::CK_KFREE},
	{"poll_freewait", KernelCheckerAPI::CK_KFREE},
	{"ptlock_free", KernelCheckerAPI::CK_KFREE},
	{"rb_free", KernelCheckerAPI::CK_KFREE},
	{"rb_free_cpu_buffer", KernelCheckerAPI::CK_KFREE},
	{"rb_free_rcu", KernelCheckerAPI::CK_KFREE},
	{"rc5t583_gpio_free", KernelCheckerAPI::CK_KFREE},
	{"rcu_free_old_probes", KernelCheckerAPI::CK_KFREE},
	{"rcu_free_pool", KernelCheckerAPI::CK_KFREE},
	{"rcu_free_pwq", KernelCheckerAPI::CK_KFREE},
	{"rcu_free_slab", KernelCheckerAPI::CK_KFREE},
	{"regmap_debugfs_free_dump_cache", KernelCheckerAPI::CK_KFREE},
	{"regmap_field_free", KernelCheckerAPI::CK_KFREE},
	{"regmap_mmio_free_context", KernelCheckerAPI::CK_KFREE},
	{"regulator_bulk_free", KernelCheckerAPI::CK_KFREE},
	{"regulator_ena_gpio_free", KernelCheckerAPI::CK_KFREE},
	{"relay_free_page_array", KernelCheckerAPI::CK_KFREE},
	{"release_freepages", KernelCheckerAPI::CK_KFREE},
	{"release_probes", KernelCheckerAPI::CK_KFREE},
	{"remove_free_dquot", KernelCheckerAPI::CK_KFREE},
	{"request_key_auth_free_preparse", KernelCheckerAPI::CK_KFREE},
	{"ring_buffer_free", KernelCheckerAPI::CK_KFREE},
	{"scsi_destroy_command_freelist", KernelCheckerAPI::CK_KFREE},
	{"scsi_free_host_cmd_pool", KernelCheckerAPI::CK_KFREE},
	{"scsi_free_host_dev", KernelCheckerAPI::CK_KFREE},
	{"scsi_free_sgtable", KernelCheckerAPI::CK_KFREE},
	{"scsi_mq_free_sgtables", KernelCheckerAPI::CK_KFREE},
	{"scsi_setup_command_freelist", KernelCheckerAPI::CK_KFREE},
	{"scsi_sg_free", KernelCheckerAPI::CK_KFREE},
	{"security_cred_free", KernelCheckerAPI::CK_KFREE},
	{"security_file_free", KernelCheckerAPI::CK_KFREE},
	{"security_inode_free", KernelCheckerAPI::CK_KFREE},
	{"security_key_free", KernelCheckerAPI::CK_KFREE},
	{"security_msg_msg_free", KernelCheckerAPI::CK_KFREE},
	{"security_msg_queue_free", KernelCheckerAPI::CK_KFREE},
	{"security_sb_free", KernelCheckerAPI::CK_KFREE},
	{"security_sem_free", KernelCheckerAPI::CK_KFREE},
	{"security_shm_free", KernelCheckerAPI::CK_KFREE},
	{"security_sk_free", KernelCheckerAPI::CK_KFREE},
	{"security_task_free", KernelCheckerAPI::CK_KFREE},
	{"security_tun_dev_free_security", KernelCheckerAPI::CK_KFREE},
	{"sem_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"serio_free_event", KernelCheckerAPI::CK_KFREE},
	{"set_buffer_freed", KernelCheckerAPI::CK_KFREE},
	{"set_freepage_migratetype", KernelCheckerAPI::CK_KFREE},
	{"sg_free_table", KernelCheckerAPI::CK_KFREE},
	{"sg_kfree", KernelCheckerAPI::CK_KFREE},
	{"shash_free_instance", KernelCheckerAPI::CK_KFREE},
	{"shm_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"shmem_free_inode", KernelCheckerAPI::CK_KFREE},
	{"sigqueue_free", KernelCheckerAPI::CK_KFREE},
	{"simple_xattrs_free", KernelCheckerAPI::CK_KFREE},
	{"skcipher_geniv_free", KernelCheckerAPI::CK_KFREE},
	{"sp_free", KernelCheckerAPI::CK_KFREE},
	{"split_free_page", KernelCheckerAPI::CK_KFREE},
	{"swap_entry_free", KernelCheckerAPI::CK_KFREE},
	{"task_numa_free", KernelCheckerAPI::CK_KFREE},
	{"task_will_free_mem", KernelCheckerAPI::CK_KFREE},
	{"taskstats_tgid_free", KernelCheckerAPI::CK_KFREE},
	{"tce_free", KernelCheckerAPI::CK_KFREE},
	{"testmgr_free_buf", KernelCheckerAPI::CK_KFREE},
	{"tlb_flush_mmu_free", KernelCheckerAPI::CK_KFREE},
	{"trace_ext4_free_blocks", KernelCheckerAPI::CK_KFREE},
	{"trace_ext4_free_inode", KernelCheckerAPI::CK_KFREE},
	{"trace_ext4_trim_all_free", KernelCheckerAPI::CK_KFREE},
	{"trace_kfree", KernelCheckerAPI::CK_KFREE},
	{"trace_kmem_cache_free", KernelCheckerAPI::CK_KFREE},
	{"trace_mm_page_free", KernelCheckerAPI::CK_KFREE},
	{"trace_mm_page_free_batched", KernelCheckerAPI::CK_KFREE},
	{"trace_module_free", KernelCheckerAPI::CK_KFREE},
	{"trace_sched_process_free", KernelCheckerAPI::CK_KFREE},
	{"traceprobe_free_probe_arg", KernelCheckerAPI::CK_KFREE},
	{"trigger_data_free", KernelCheckerAPI::CK_KFREE},
	{"trusted_rcu_free", KernelCheckerAPI::CK_KFREE},
	{"try_to_free_buffers", KernelCheckerAPI::CK_KFREE},
	{"try_to_free_mem_cgroup_pages", KernelCheckerAPI::CK_KFREE},
	{"try_to_free_pmd_page", KernelCheckerAPI::CK_KFREE},
	{"try_to_free_pte_page", KernelCheckerAPI::CK_KFREE},
	{"try_to_free_pud_page", KernelCheckerAPI::CK_KFREE},
	{"try_to_free_swap", KernelCheckerAPI::CK_KFREE},
	{"tty_buffer_free_all", KernelCheckerAPI::CK_KFREE},
	{"tty_free_file", KernelCheckerAPI::CK_KFREE},
	{"tty_free_termios", KernelCheckerAPI::CK_KFREE},
	{"tty_port_free_xmit_buf", KernelCheckerAPI::CK_KFREE},
	{"unusable_free_index", KernelCheckerAPI::CK_KFREE},
	{"uprobe_free_utask", KernelCheckerAPI::CK_KFREE},
	{"user_free_preparse", KernelCheckerAPI::CK_KFREE},
	{"vb_free", KernelCheckerAPI::CK_KFREE},
	{"vcs_poll_data_free", KernelCheckerAPI::CK_KFREE},
	{"vfree", KernelCheckerAPI::CK_KFREE},
	{"vp_free_vectors", KernelCheckerAPI::CK_KFREE},
	{"x509_free_certificate", KernelCheckerAPI::CK_KFREE},
	{"yama_task_free", KernelCheckerAPI::CK_KFREE},
	{"zbud_free", KernelCheckerAPI::CK_KFREE},
	{"zbud_zpool_free", KernelCheckerAPI::CK_KFREE},
	{"zone_init_free_lists", KernelCheckerAPI::CK_KFREE},
	{"zpool_free", KernelCheckerAPI::CK_KFREE},
	{"zs_free", KernelCheckerAPI::CK_KFREE},
	{"zs_zpool_free", KernelCheckerAPI::CK_KFREE},
	{"zswap_entry_cache_free", KernelCheckerAPI::CK_KFREE},
	{"zswap_free_entry", KernelCheckerAPI::CK_KFREE},
	{"__mpol_put", KernelCheckerAPI::CK_KFREE},
	{"__put_cred", KernelCheckerAPI::CK_KFREE},
	{"fput", KernelCheckerAPI::CK_KFREE},
	{"key_put", KernelCheckerAPI::CK_KFREE},
	{"destroy_super", KernelCheckerAPI::CK_KFREE},
	{"kobject_put", KernelCheckerAPI::CK_KFREE},
	{"mmdrop", KernelCheckerAPI::CK_KFREE},
	{"iput", KernelCheckerAPI::CK_KFREE},
	{"dput", KernelCheckerAPI::CK_KFREE},
	{"clear_nlink", KernelCheckerAPI::CK_KFREE},
	{"free_ldt_struct", KernelCheckerAPI::CK_KFREE},
	{"abort_creds", KernelCheckerAPI::CK_KFREE},
	{"put_group_info", KernelCheckerAPI::CK_KFREE},
	{"put_super", KernelCheckerAPI::CK_KFREE},

	{"spin_lock", KernelCheckerAPI::CK_KLOCK},
	{"spin_lock_bh", KernelCheckerAPI::CK_KLOCK},
	{"spin_lock_irqrestore", KernelCheckerAPI::CK_KLOCK},
	{"spin_lock_irqsave", KernelCheckerAPI::CK_KLOCK},
	{"raw_spin_lock", KernelCheckerAPI::CK_KLOCK},
	{"_raw_spin_lock", KernelCheckerAPI::CK_KLOCK},
	{"__raw_spin_lock", KernelCheckerAPI::CK_KLOCK},
	{"raw_spin_lock_irqrestore", KernelCheckerAPI::CK_KLOCK},
	{"raw_spin_lock_irqsave", KernelCheckerAPI::CK_KLOCK},
	{"_raw_spin_lock_irqsave", KernelCheckerAPI::CK_KLOCK},
	{"mutex_lock", KernelCheckerAPI::CK_KLOCK},
	{"read_lock", KernelCheckerAPI::CK_KLOCK},

	{"spin_unlock", KernelCheckerAPI::CK_KUNLOCK},
	{"spin_unlock_bh", KernelCheckerAPI::CK_KUNLOCK},
	{"spin_unlock_irqrestore", KernelCheckerAPI::CK_KUNLOCK},
	{"spin_unlock_irqsave", KernelCheckerAPI::CK_KUNLOCK},
	{"raw_spin_unlock", KernelCheckerAPI::CK_KUNLOCK},
	{"_raw_spin_unlock", KernelCheckerAPI::CK_KUNLOCK},
	{"__raw_spin_unlock", KernelCheckerAPI::CK_KUNLOCK},
	{"raw_spin_unlock_irqsave", KernelCheckerAPI::CK_KUNLOCK},
	{"_raw_spin_unlock_irqsave", KernelCheckerAPI::CK_KUNLOCK},
	{"raw_spin_unlock_irqrestore", KernelCheckerAPI::CK_KUNLOCK},
	{"mutex_unlock", KernelCheckerAPI::CK_KUNLOCK},
	{"read_unlock", KernelCheckerAPI::CK_KUNLOCK},

	//This must be the last entry.
	{0, KernelCheckerAPI::CK_DUMMY}

};


/*!
 * initialize the map
 */
void KernelCheckerAPI::init() {
	set<CHECKER_TYPE> t_seen;
	CHECKER_TYPE prev_t= CK_DUMMY;
	t_seen.insert(CK_DUMMY);
	for(const ei_pair *p= ei_pairs; p->n; ++p) {
		if(p->t != prev_t) {
			//This will detect if you move an entry to another block
			//  but forget to change the type.
			if(t_seen.count(p->t)) {
				fputs(p->n, stderr);
				putc('\n', stderr);
				assert(!"ei_pairs not grouped by type");
			}
			t_seen.insert(p->t);
			prev_t= p->t;
		}
		if(tdAPIMap.count(p->n)) {
			fputs(p->n, stderr);
			putc('\n', stderr);
			assert(!"duplicate name in ei_pairs");
		}
		tdAPIMap[p->n]= p->t;
	}
}

